package cn.iocoder.yudao.module.home.service;

import cn.iocoder.yudao.module.home.controller.admin.vo.*;

import java.util.List;

public interface HomeService {

    /**
     * 获取首页TOP指标数据
     */
    HomeTopIndexRespVO getTopIndex();

    /**
     * 根据层级获取图表配置选项
     * @param hierarchy 层级名称（如：汇聚层、数据层等）
     */
    List<SectionOptionVO> getSectionOptions(String hierarchy);

    /**
     * 获取系统接入情况统计
     */
    AccessStatisticsRespVO getAccessStatistics();

    /**
     * 获取目录指标数据
     * @param reqVO 查询参数
     */
    List<CatalogIndexItemVO> getCatalogIndex(CatalogIndexReqVO reqVO);

    /**
     * 获取目录指标详情数据（分页）
     * @param reqVO 查询参数
     */
    CatalogIndexDetailsRespVO getCatalogIndexDetails(CatalogIndexDetailsReqVO reqVO);
    /**
     * 获取表数据排名
     * @param reqVO 查询参数
     */
    TableRankingRespVO getTableRanking(TableRankingReqVO reqVO);

    /**
     * 获取汇聚任务分布统计
     */
    TaskDistributionRespVO getTaskDistribution();
    /**
     * 获取7天数据量统计
     */
    List<DataNum7DayItemVO> getDataNumBy7Day();

    /**
     * 获取数据源列表
     */
    List<DataSourceVO> getDataSources();
    /**
     * 获取数据标准统计
     */
    DataStdStatisticsRespVO getDataStdStatistics();
}
